home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Choice 4
/
Choice CD-ROM 4 - Disc 2.iso
/
onl
/
09
/
dspbm800.lzh
/
BAC.TXT
next >
Wrap
Text File
|
1994-05-22
|
20KB
|
505 lines
1994.05.22
Y.SAK
アニメーション制御 (Bac) 構文説明書
Display Bitmap (DspBmp.exe) のアニメーション制御 (Bac) では、制御構造を
利用して、
○bmp bcs bca pca ファイルの表示
○選択メッセージの表示による分岐
○マウスクリックによる分岐
○セーブデータによる分岐
○ini ファイルの更新
○ファイルのコピー
○ファイルの圧縮
などができます。
Bac 制御ファイルは、bmp bcs bca と同様に Display Bitmap でオープンします。
尚、Bac ファイルは、ただのテキストなので Editor などで作成します。
Dsp_Bmp コマンドで使用できる Pca ファイルは、単体のアニメーションを定義
したものです。
構文は、Bca ファイルと同一ですが、Nol_Set コマンドを省略して定義できます。
■Display Bitmap のコマンドラインパラメタ
DspBmp.exe filename /SHOW-HIDE
|_ HIDE 非表示起動
MIN アイコン化起動
コマンドラインで表示パラメタを指定できます。
■ファイル名の規約
アニメーション制御 (Bac) ファイルの拡張子は、必ず bac として下さい。
■構文の規約
構文に大文字小文字の区別はなく、認識不可能な文字はすべて注釈として解釈
しています。
また、スペースには半角を必ず使用して下さい。
尚、ハードタブを使用したときの動作は保証できません。
(構文解析が、めちゃあまいのでご注意下さい。)
○注釈は原則としてキーワード Bac data の前にのみ書くことができます。
○途中に注釈をどうしてもいれたい場合は、コマンドとして認識されるアルフ
ァベットがないように日本語で書きます。
○アニメーション制御は、Bac data 以降に書きます。
○Skip...End_Skip Do...Loop If_???? then...End_If ブロックは、ネスト
して使用できます。
○Do や Call は、40 レベルまで使用できます。
○構文の最大は 2000 ステップ(ラベル + コマンド)です。
■コマンド説明
Bac Data
|_ すべてのコマンドに先だって必ず記述されていなければなりません。
Show_Hide
|_ Display Bitmap を非表示にします。
Show_Normal
|_ Display Bitmap を通常表示にします。
Set_SelNo Sel1
| |_ NULL
| Sel1
| Sel2
| Sel3
| Sel4
| Sel5
|_ If_SEL? を真にします。(NULL は、すべてを偽にします。)
Set_IDCD IDOK
| |_ IDOK
| IDCANCEL
| IDYES
| IDNO
|_ If_ID?? を真にします。
Set_Flag? TRUE
| | |_ TRUE (真)
| | FALSE (偽)
| |_ 0 - 9
|_ If_Flag? を設定します。
Set_Ini キーワード データ
| | |_ 文字列
| |_ 文字列
|_ ini ファイルに指定されたキーワードでデータをセットします。
データに " " を指定すると、NULL 指定となります。
保管される ini ファイル名は、Bac ファイル名の拡張子を ini にしたも
のになります。
保管が正常にできれば If_IDOK に、そうでないときは If_IDCANCEL にな
ります。(セットしたデータは、If_Ini Call_Ini で判定できます。)
ReWrite_Cmd @ラベル 制御データ
| | |_ 新アニメーション制御データ
| |_ 20 バイト以内
|_ ラベル直後のアニメーション制御データを変更します。
パラメタの合計は 200 バイト以内でなくてはいけません。
このコマンドの使用には十分注意して下さい。
@ラベル
|_ ラベルを定義します。(20 バイト以内)
Chg_Label @旧ラベル @新ラベル
| | |_ 20 バイト以内
| |_ 20 バイト以内
|_ ラベルを変更します。同一のラベルが複数ある場合は、先頭のものだけが
変更されます。
Dlt_Label @ラベル
| |_ 20 バイト以内
|_ ラベルを削除します。同一のラベルが複数ある場合は、先頭のものだけが
削除されます。(実際には、@@ラベルにしています。)
Und_Label @ラベル
| |_ 20 バイト以内
|_ 削除したラベルを復活します。同一の削除ラベルが複数ある場合は、先頭
のものだけが復活されます。
Skip
|_ Skip...End_Skip 間をスキップします。
Goto If_???? Call などで、Skip...End_Skip 間のラベルを呼びだすこと
は可能です。
End_Skip
|_ Skip の終わりを示します。
Do
|_ Do...Loop のループを開始します。
Loop
|_ Do へ戻ります。
Loop_Until_Sel1
| |_ Sel1 メッセージウィンドウの 1 番目が選択された
| Sel2 メッセージウィンドウの 2 番目が選択された
| Sel3 メッセージウィンドウの 3 番目が選択された
| Sel4 メッセージウィンドウの 4 番目が選択された
| Sel5 メッセージウィンドウの 5 番目が選択された
| IDOK 『OK』 ボタンが押された
| IDCANCEL 『キャンセル』 ボタンが押された
| IDYES 『はい』 ボタンが押された
| IDNO 『いいえ』ボタンが押された
| Flag0 フラグ0 が TRUE
| Flag1 フラグ1 が TRUE
| Flag2 フラグ2 が TRUE
| Flag3 フラグ3 が TRUE
| Flag4 フラグ4 が TRUE
| Flag5 フラグ5 が TRUE
| Flag6 フラグ6 が TRUE
| Flag7 フラグ7 が TRUE
| Flag8 フラグ8 が TRUE
| Flag9 フラグ9 が TRUE
|_ 条件を満たしていれば、ループから出て次へ、満たしていなければ Do へ
戻ります。
ステータスは、Dsp_Msg で Sel? が設定され、Inp_Data Msg_Box Win_Exec
Copy_File Write_Ini などで ID?? が設定されます。
Exit_Do
|_ Do ループを抜けます。
Back_Do
|_ Do へ戻ります。
Call @ラベル
| |_ 20 バイト以内
|_ ラベルをコールします。
Call_Sel1 @ラベル
| | |_ 20 バイト以内
| |_ Sel1 メッセージウィンドウの 1 番目が選択された
| Sel2 メッセージウィンドウの 2 番目が選択された
| Sel3 メッセージウィンドウの 3 番目が選択された
| Sel4 メッセージウィンドウの 4 番目が選択された
| Sel5 メッセージウィンドウの 5 番目が選択された
| IDOK 『OK』 ボタンが押された
| IDCANCEL 『キャンセル』 ボタンが押された
| IDYES 『はい』 ボタンが押された
| IDNO 『いいえ』ボタンが押された
| Flag0 フラグ0 が TRUE
| Flag1 フラグ1 が TRUE
| Flag2 フラグ2 が TRUE
| Flag3 フラグ3 が TRUE
| Flag4 フラグ4 が TRUE
| Flag5 フラグ5 が TRUE
| Flag6 フラグ6 が TRUE
| Flag7 フラグ7 が TRUE
| Flag8 フラグ8 が TRUE
| Flag9 フラグ9 が TRUE
|_ 条件を満たしていれば、ラベルをコールします。
Return
|_ Call の次へ戻ります。
Goto @ラベル
| |_ 20 バイト以内
|_ ラベルへジャンプします。
If_Sel1 @ラベル
| | |_ @ラベル (ラベルへ分岐)
| | Exit_Do (Do...Loop を脱出)
| | Back_Do (Do へ戻る)
| | End (終了)
| | then (End_If を使うとき)
| |_ Sel1 メッセージウィンドウの 1 番目が選択された
| Sel2 メッセージウィンドウの 2 番目が選択された
| Sel3 メッセージウィンドウの 3 番目が選択された
| Sel4 メッセージウィンドウの 4 番目が選択された
| Sel5 メッセージウィンドウの 5 番目が選択された
| IDOK 『OK』 ボタンが押された
| IDCANCEL 『キャンセル』 ボタンが押された
| IDYES 『はい』 ボタンが押された
| IDNO 『いいえ』ボタンが押された
| Flag0 フラグ0 が TRUE
| Flag1 フラグ1 が TRUE
| Flag2 フラグ2 が TRUE
| Flag3 フラグ3 が TRUE
| Flag4 フラグ4 が TRUE
| Flag5 フラグ5 が TRUE
| Flag6 フラグ6 が TRUE
| Flag7 フラグ7 が TRUE
| Flag8 フラグ8 が TRUE
| Flag9 フラグ9 が TRUE
|_ 条件を満たしていれば、ラベルへジャンプします。
ラベルの変わりに Exit_Do が指定されていると、Do ループを抜けます。
Back_Do は Do へ戻ります。
then の指定があるときは、条件を満たしていれば次の構文へ、そうでなけ
れば End_If までスキップします。
End_If
|_ If_???? then ブロックの終りを示します。
Wait_Mouse
|_ マウスのクリックを待ちます。
クリックされた座標は、If_Mouse で判定できます。
このコマンドが実行されたときに、等倍表示以外のモードになっていると
自動的に等倍表示になります。
Call_Mouse xs ys xp yp @ラベル
| | | | | |_ 20 バイト以内
| | | | |_ 高さ (ドット)
| | | |_ 幅 (ドット)
| | |_ 縦位置 (ドット)
| |_ 横位置 (ドット)
|_ マウ